gpointer key, value;
g_autofree char *remote_key = NULL;
g_autofree char *path = NULL;
- g_autofree char *baseurl = NULL;
g_autofree char *metalink_url_str = NULL;
g_autoptr(GHashTable) requested_refs_to_fetch = NULL;
g_autoptr(GHashTable) commits_to_fetch = NULL;
pull_data->start_time = g_get_monotonic_time ();
- if (_ostree_repo_remote_name_is_file (remote_name_or_baseurl))
- {
- baseurl = g_strdup (remote_name_or_baseurl);
- }
- else
- {
- pull_data->remote_name = g_strdup (remote_name_or_baseurl);
- }
+ if (!_ostree_repo_remote_name_is_file (remote_name_or_baseurl))
+ pull_data->remote_name = g_strdup (remote_name_or_baseurl);
if (!ostree_repo_remote_get_gpg_verify (self, remote_name_or_baseurl,
&pull_data->gpg_verify, error))
if (!metalink_url_str)
{
- if (baseurl == NULL)
- {
- if (!_ostree_repo_get_remote_option_inherit (self, remote_name_or_baseurl, "url", &baseurl, error))
- goto out;
- }
+ g_autofree char *baseurl = NULL;
- if (baseurl == NULL)
- {
- g_set_error (error, G_IO_ERROR, G_IO_ERROR_NOT_FOUND,
- "No \"url\" option in remote \"%s\"",
- remote_name_or_baseurl);
- goto out;
- }
+ if (!ostree_repo_remote_get_url (self, remote_name_or_baseurl, &baseurl, error))
+ goto out;
pull_data->base_uri = soup_uri_new (baseurl);
char **out_url,
GError **error)
{
- local_cleanup_remote OstreeRemote *remote = NULL;
g_autofree char *url = NULL;
gboolean ret = FALSE;
g_return_val_if_fail (name != NULL, FALSE);
- remote = ost_repo_get_remote (self, name, error);
+ if (_ostree_repo_remote_name_is_file (name))
+ {
+ url = g_strdup (name);
+ }
+ else
+ {
+ if (!_ostree_repo_get_remote_option_inherit (self, name, "url", &url, error))
+ goto out;
- if (remote == NULL)
- goto out;
+ if (url == NULL)
+ {
+ g_set_error (error, G_IO_ERROR, G_IO_ERROR_NOT_FOUND,
+ "No \"url\" option in remote \"%s\"", name);
+ goto out;
+ }
+ }
- url = g_key_file_get_string (remote->options, remote->group, "url", error);
+ if (out_url != NULL)
+ *out_url = g_steal_pointer (&url);
- if (url != NULL)
- {
- gs_transfer_out_value (out_url, &url);
- ret = TRUE;
- }
+ ret = TRUE;
out:
return ret;